package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.PrivilegeDao;
import com.sophossystems.client.asmon.dto.PrivilegeDTO;
import com.sophossystems.client.asmon.dto.PrivilegePkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;
import java.util.List;

public interface PrivilegeDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return PrivilegePk
	 */
	public PrivilegePkDTO insert(final PrivilegeDTO dto);

	/** 
	 * Updates a single row in the Privilege table.
	 */
	public void update(final PrivilegeDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the Privilege table.
	 */
	public void delete(final PrivilegePkDTO pk) throws DaoException;

	/** 
	 * Returns all rows from the Privilege table that match the criteria 'idPrivilege = :idPrivilege'.
	 */
	public PrivilegeDTO findByPrimaryKey(final int idPrivilege) throws DaoException;

	/** 
	 * Returns all rows from the Privilege table that match the criteria ''.
	 */
	public List<PrivilegeDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the Privilege table that match the criteria 'idPrivilege = :idPrivilege'.
	 */
	public List<PrivilegeDTO> findWhereIdPrivilegeEquals( final int idPrivilege) throws DaoException;

	/** 
	 * Returns all rows from the Privilege table that match the criteria 'idRole = :idRole'.
	 
	public List<PrivilegeDTO> findWhereIdRoleEquals(int idRole) throws DaoException;*/

	/** 
	 * Returns all rows from the Privilege table that match the criteria 'idActivity = :idActivity'.
	 
	public List<PrivilegeDTO> findWhereIdActivityEquals(int idActivity) throws DaoException;*/

	/** 
	 * Returns all rows from the Privilege table that match the criteria 'enabled = :enabled'.
	 
	public List<PrivilegeDTO> findWhereEnabledEquals(int enabled) throws DaoException;*/

	public PrivilegePkDTO findLastInsert() throws DaoException;
	

}
